// ----------------------------------
// RSDK Project: Sonic 1/Sonic 2
// Script Description: Buzz Bomber Shot Object
// Script Author: Christian Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------

// Aliases
private alias object.value0 : buzzBomberShot.timer

private alias 0 : BBSHOT_SHOT	 // actually shot the projectile

// Static Values

// Tables

event ObjectMain
	switch object.state

	case BBSHOT_SHOT
		object.xpos += object.xvel
		object.ypos += object.yvel
		buzzBomberShot.timer++
		buzzBomberShot.timer &= 3
		break
	end switch

	if object.outOfBounds == true
		object.type = TypeName[Blank Object]
	end if

	foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)
			BoxCollisionTest(C_TOUCH, object.entityPos, -6, -6, 6, 6, currentPlayer, HITBOX_AUTO, HITBOX_AUTO, HITBOX_AUTO, HITBOX_AUTO)
			if checkResult == true
				CallFunction(PlayerObject_ProjectileHit)
			end if
	next
	
	ObjectTileGrip(CSIDE_FLOOR, -4, -6, PATH_A)
	temp0 = checkResult	
	ObjectTileGrip(CSIDE_FLOOR, -4, -6, PATH_B)
	temp0 |= checkResult
	
	if temp0 == TRUE
		object.type = TypeName[Blank Object]
		PlaySFX(SFXName[Explosion], 0)
		temp1 = object.ypos
		temp1 -= 0x80000
		CreateTempObject(TypeName[Explosion], 0, object.xpos, temp1)
	endif
end event


event ObjectDraw
	DrawSpriteFX(0, FX_FLIP, object.xpos, object.ypos)
end event


event ObjectStartup
	CheckCurrentStageFolder("SSZ")
	if checkResult == true
		LoadSpriteSheet("SSZ/Objects.gif")
		SpriteFrame(-4, -6, 9, 13, 33, 167)
	end if
end event

event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	CheckCurrentStageFolder("Zone01")
	if checkResult == true
		LoadSpriteSheet("GHZ/Objects.gif")
		SpriteFrame(-6, -6, 12, 12, 160, 111)
	end if

	CheckCurrentStageFolder("Zone02")
	if checkResult == true
		LoadSpriteSheet("MZ/Objects.gif")
		SpriteFrame(-6, -6, 12, 12, 37, 179)
	end if

	CheckCurrentStageFolder("Zone03")
	if checkResult == true
		LoadSpriteSheet("SYZ/Objects.gif")
		SpriteFrame(-6, -6, 12, 12, 83, 83)
	end if

	CheckCurrentStageFolder("Zone07")
	if checkResult == true
		LoadSpriteSheet("MBZ/Objects.gif")
		SpriteFrame(-8, -8, 16, 16, 35, 51)
	end if
end event
